﻿using System;

namespace QDP.Platform.Services
{
    /// <summary>
    /// 表示一个平台所支持的服务类型
    /// </summary>
    public interface IService
    {
        /// <summary>
        /// 启动服务
        /// </summary>
        /// <returns>返回操作结果。</returns>
        bool Start();
        /// <summary>
        /// 停止服务
        /// </summary>
        /// <returns>返回操作结果。</returns>
        bool Stop();
        /// <summary>
        /// 获取当前服务状态。
        /// </summary>
        ServiceStatus Status { get; }
        /// <summary>
        /// 获取服务标题
        /// </summary>
        string Caption { get; }
        /// <summary>
        /// 获取服务描述
        /// </summary>
        string Descript { get; }
        /// <summary>
        /// 获取服务句柄
        /// </summary>
        string Handler { get;}
    }
    /// <summary>
    /// 表示服务当前状态
    /// </summary>
    [Flags]
    public enum ServiceStatus
    {
        /// <summary>
        /// 正在运行
        /// </summary>
        Running = 0,
        /// <summary>
        /// 停止运行
        /// </summary>
        Stoped = 1
    }
}
